/*
	Copyright (c) 2009-2011, Stefan Webb.

	This file is part of SimpleML. Please read the file "license.txt", 
	which contains the conditions under which this software is distributed.
*/

/*!
	\file priorityqueue.h
	\author Stefan Webb
	\brief Definition of the PriorityQueue class template
*/

#ifndef PRIORITYQUEUE_H
#define PRIORITYQUEUE_H

//#include "stdafx.h"

/*! \brief Class for priority queue (currently based on minheap). */
template <class T = unsigned int> class PriorityQueue : public MinHeap<T>
{
public:
	/*! \brief Default constructor. */
	PriorityQueue();

	/*! \brief Constructor with capacity. 
		\param capacity Initial and minimum capacity of queue. */
	PriorityQueue(unsigned int capacity);
};

/* Default constructor. */
template <class T> PriorityQueue<T>::PriorityQueue() {}

/* Constructor with capacity. */
template <class T> PriorityQueue<T>::PriorityQueue(unsigned int capacity) : MinHeap(capacity) {}

#endif